home *** CD-ROM | disk | FTP | other *** search
/ Macademic for Students & Teachers / Macademic for Students and Teachers (Quantum Leap)(1992).iso / Fun & Games / Wave 15 / ctype.h next >
Text File  |  1985-10-17  |  974b  |  33 lines

  1. /*    HEADER FOR CHARACTER TYPES
  2.  *    Copyright (c) 1983 by Whitesmiths, Ltd.
  3.  */
  4. #ifndef CTYPEDEF
  5. #define _UC        001
  6. #define _LC         002
  7. #define _D         004
  8. #define _S         010
  9. #define _P         020
  10. #define _C         040
  11. #define _X         0100
  12.  
  13. extern unsigned char _Ctype[];/* patch - bug was GLOBAL TEXT but needed std.h */
  14.  
  15. #define _toupper(c) ((c) + 'A' - 'a'))
  16. #define _tolower(c) ((c) + 'a' - 'A'))
  17. #define isalnum(c) ((_Ctype+1)[c] & (_D | _UC | _LC))
  18. #define isalpha(c) ((_Ctype+1)[c] & (_UC | _LC))
  19. #define isascii(c) ((unsigned)(c) <= 0177)
  20. #define iscntrl(c) ((_Ctype+1)[c] & _C)
  21. #define isdigit(c) ((_Ctype+1)[c] & _D)
  22. #define islower(c) ((_Ctype+1)[c] & _LC)
  23. #define isprint(c) ((_Ctype+1)[c] & (_P | _D | _UC | _LC))
  24. #define isgraph(c) (isprint(c) && (c) != ' ')
  25. #define ispunct(c) ((_Ctype+1)[c] & _P)
  26. #define isspace(c) ((_Ctype+1)[c] & _S)
  27. #define isupper(c) ((_Ctype+1)[c] & _UC)
  28. #define isxdigit(c) ((_Ctype+1)[c] & (_D | _X))
  29. #define toascii(c) ((c) & 0177)
  30.  
  31. #define CTYPEDEF
  32. #endif
  33.